The High Efficiency Video Coding (“HEVC”) coding standard (also called H.265) is a coding standard promulgated by the ISO/IEC MPEG standardization organizations. HEVC supports resolutions higher than “high definition,” which means pixels may be represented by a larger number of bits than the high definition pictures. For example, 4K resolutions may include images that are 4,000 pixels wide compared to high definition images that are 1920 pixels wide.
Temporal motion prediction is an effective method to increase the coding efficiency and provides high compression. HEVC uses a translational model for temporal motion prediction. According to the translational model, a prediction signal for a given current unit in a current picture is generated from a corresponding reference unit in a reference picture. The coordinates of the reference unit are given by a motion vector that describes the translational motion along horizontal (x) and vertical (y) directions that would be added/subtracted to/from the coordinates of the current unit. A decoder needs the motion vector to decode the compressed video.
HEVC may use single prediction using one reference pictures or bi-prediction using two reference pictures. The pixels in reference units of the reference pictures are used as the prediction. In some conditions, such as when fading occurs, pixels of one of the reference units in bi-prediction may not yield the most accurate prediction. To compensate for this, HEVC may use weighted prediction when performing the motion estimation process. Weighted prediction may weight the pixels in one or both of the reference units used as the prediction differently.